package cxydmmszl.chapter05.t078;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * <li style="color: red;">Prob</li>
 * 判断两个字符串是否互为旋转词
 * <li style="color: green;">Desc</li>
 * 如果一个字符串为str，把字符串的前面任意部分挪到后面形成的字符串交str的旋转词。比如str=“12345”，str的旋转串有“12345”、“45123”等等。给定两个字符串，判断是否为旋转词。
 * <li style="color: green;">Input</li>
 * 输出包含三行，第一个两个整数n和m（1≤n,m≤10^5），分别表示两个字符串的长度。第二行和第三行各输入一个字符串。
 * <li style="color: green;">Output</li>
 * 如果两个字符串互为旋转词请输出“YES”，否则输出“NO”。
 * <li style="color: blue;">Link</li> CD96
 *
 * @author habitplus
 * @since 2021-09-08 13:57
 */
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String[] ss = bf.readLine().split(" ");
        int n = Integer.parseInt(ss[0]);
        int m = Integer.parseInt(ss[1]);

        String s1 = bf.readLine();
        String s2 = bf.readLine();
        bf.close();

        if (n != m) {
            System.out.println("NO");
            return;
        }

        System.out.println(isRotation(s1, s2));

    }

    public static boolean isRotation(String s1, String s2) {
        if (s1 == null || s2 == null || s1.length() == 0 || s1.length() != s2.length()) {
            return false;
        }
        s1 += s1;
        return s1.contains(s2);
    }
}
